Interactor for a graphical object

ABSTRACT

A method, system and/or computer program product changes the properties of a graphical object. One or more processors receive a graphical display data set including information for generating a graphical display of a spreadsheet, where the spreadsheet comprises a cell having a perimeter that is defined by a plurality of edges. In the cell, a property adjusted by selecting a constrained edge of the cell is identified. A graphical control for the identified property is created and displayed in response to a user selecting the constrained edge and requesting the graphical control from a context menu associated with the cell, where activating the graphical control increases a size of the cell beyond the boundary conditions of the spreadsheet. A user input selecting the graphical control is received. In response, the cell is expanded beyond the boundary conditions of the spreadsheet and the property is displayed on the graphical user interface.

This application is based on and claims the benefit of priority fromUnited Kingdom (GB) Patent Application 1303953.2, filed on Mar. 6, 2013,and herein incorporated by reference in its entirety.

BACKGROUND

This invention relates to a method and apparatus for an interactor for agraphical object. In particular the invention relates to a method andapparatus for editing a property associated with a hidden edge of agraphical object in graphical user interface.

The application domain is usability and interactive resizing of agraphical object when, for instance, the graphical object is notentirely visible on a graphical user interface.

Known prior art discloses a method for viewing larger than screen sizedigital content.

Other known prior art discloses a method to automatically resize awindow in a graphical user interface.

Other known prior art discloses a method for handling and scrolling ofcontent on screen.

Other known prior art discloses a method for scrolling content using ascreen pointing device.

Other known prior art discloses a method for scrolling a view.

The above solutions generally allow expansion of a graphical objectwithin the limits of a graphical user interface but are otherwiseconstrained. Such constraints can lead to frustration when the object isvery large and loss of context when resizing.

SUMMARY

A method, system, and/or computer program product change a graphicalobject property in a graphical user interface. A graphical display dataset is received including information for generating a graphical displayof a spreadsheet, where the spreadsheet comprises a cell having aperimeter that is defined by a plurality of edges. In the cell, aproperty that is adjusted by selecting a constrained edge from theplurality of edges of the cell is identified, where movement of theconstrained edge is constrained by boundary conditions of thespreadsheet. On the graphical display a graphical control for theidentified property is created and displayed, where the graphicalcontrol is created in response to a user selecting the constrained edgeand requesting the graphical control from a context menu associated withthe cell, and where activating the graphical control increases a size ofthe cell beyond the boundary conditions of the spreadsheet. A user inputselecting the graphical control is received. In response to receivingthe user input selecting the graphical control, the cell is expandedbeyond the boundary conditions of the spreadsheet and the property thatis adjusted in a separate field from the graphical control is displayedon the graphical user interface.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a deployment diagram of the preferred embodiment;

FIG. 2 is a component diagram of the preferred embodiment;

FIG. 3 is a flow diagram of a process of the preferred embodiment;

FIG. 4 is an example diagram of an interactor widget of the preferredembodiment; and

FIG. 5a to FIG. 5f depict example screens showing the initial and finalstates of a graphical user interface and the preferred embodiment.

DETAILED DESCRIPTION

Referring to FIG. 1, the deployment of a preferred embodiment incomputer processing system 10 is described. Computer processing system10 is operational with numerous other general purpose or special purposecomputing system environments or configurations. Examples of well-knowncomputing processing systems, environments, and/or configurations thatmay be suitable for use with computer processing system 10 include, butare not limited to, personal computer systems, server computer systems,thin clients, thick clients, hand-held or laptop devices, multiprocessorsystems, microprocessor-based systems, set top boxes, programmableconsumer electronics, network PCs, minicomputer systems, mainframecomputer systems, and distributed cloud computing environments thatinclude any of the above systems or devices.

Computer processing system 10 may be described in the general context ofcomputer system-executable instructions, such as program modules, beingexecuted by a computer processor. Generally, program modules may includeroutines, programs, objects, components, logic, and data structures thatperform particular tasks or implement particular abstract data types.Computer processing system 10 may be embodied in distributed cloudcomputing environments where tasks are performed by remote processingdevices that are linked through a communications network. In adistributed cloud computing environment, program modules may be locatedin both local and remote computer system storage media including memorystorage devices.

Computer processing system 10 comprises: general-purpose computer server12 and one or more input devices 14 and output devices 16 directlyattached to the computer server 12. Computer processing system 10 isconnected to a network 20. Computer processing system 10 communicateswith a user 18 using input devices 14 and output devices 16. Inputdevices 14 include one or more of: a keyboard, a scanner, a mouse,trackball or another pointing device. Output devices 16 include one ormore of a display or a printer. Computer processing system 10communicates with network devices (not shown) over network 20. Network20 can be a local area network (LAN), a wide area network (WAN), or theInternet.

Computer server 12 comprises: central processing unit (CPU) 22; networkadapter 24; device adapter 26; bus 28 and memory 30.

CPU 22 loads machine instructions from memory 30 and performs machineoperations in response to the instructions. Such machine operationsinclude: increment or decrement a value in register (not shown);transfer a value from memory 30 to a register or vice versa; takeinstructions from a different location in memory if a condition is trueor false (also known as a conditional branch instruction); and add orsubtract the values in two different registers and put the result inanother register. A typical CPU can perform many different machineoperations. A set of machine instructions is called a machine codeprogram, the machine instructions are written in a machine code languagewhich is referred to a low level language. A computer program written ina high level language needs to be compiled to a machine code programbefore it can be run. Alternatively a machine code program such as avirtual machine or an interpreter can interpret a high level language interms of machine operations.

Network adapter 24 is connected to bus 28 and network 20 for enablingcommunication between the computer server 12 and network devices.

Device adapter 26 is connected to bus 28 and input devices 14 and outputdevices 16 for enabling communication between computer server 12 andinput devices 14 and output devices 16.

Bus 28 couples the main system components together including memory 30to CPU 22. Bus 28 represents one or more of any of several types of busstructures, including a memory bus or memory controller, a peripheralbus, an accelerated graphics port, and a processor or local bus usingany of a variety of bus architectures. By way of example, and notlimitation, such architectures include Industry Standard Architecture(ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA)bus, Video Electronics Standards Association (VESA) local bus, andPeripheral Component Interconnects (PCI) bus.

Memory 30 includes computer system readable media in the form ofvolatile memory 32 and non-volatile or persistent memory 34. Examples ofvolatile memory 32 are random access memory (RAM) 36 and cache memory38. Generally volatile memory is used because it is faster and generallynon-volatile memory is used because it will hold the data for longer.Computer processing system 10 may further include other removable and/ornon-removable, volatile and/or non-volatile computer system storagemedia. By way of example only, persistent memory 34 can be provided forreading from and writing to a non-removable, non-volatile magnetic media(not shown and typically a magnetic hard disk or solid-state drive).Although not shown, further storage media may be provided including: anexternal port for removable, non-volatile solid-state memory; and anoptical disk drive for reading from or writing to a removable,non-volatile optical disk such as a compact disk (CD), digital videodisk (DVD) or Blu-ray. In such instances, each can be connected to bus28 by one or more data media interfaces. As will be further depicted anddescribed below, memory 30 may include at least one program producthaving a set (for example, at least one) of program modules that areconfigured to carry out the functions of embodiments of the invention.

The set of program modules configured to carry out the functions of thepreferred embodiment comprises: interactor tool 200; GUI library 102;and application 104. Further program modules that support the preferredembodiment but are not shown including firmware, boot strap program,operating system, and support applications. Each of the operatingsystem, support applications, other program modules, and program data orsome combination thereof, may include an implementation of a networkingenvironment.

Computer processing system 10 communicates with at least one network 20(such as a local area network (LAN), a general wide area network (WAN),and/or a public network like the Internet) via network adapter 24.Network adapter 24 communicates with the other components of computerserver 12 via bus 28. It should be understood that although not shown,other hardware and/or software components could be used in conjunctionwith computer processing system 10. Examples, include, but are notlimited to: microcode, device drivers, redundant processing units,external disk drive arrays, redundant array of independent disks (RAID),tape drives, and data archival storage systems.

Interactor tool 200 is described in more detail below with reference toFIG. 2.

Graphical user interface (GUI) library 102 is a library of graphicaluser interface code that provides primary control for objects in agraphical user interface.

Application 104 is a computer program application that uses GUI library102 in order to operate. The preferred example is a calendar applicationbut any graphical applications could benefit from the embodiments.Another example of an application that would benefit from theembodiments is a spreadsheet application.

Referring to FIG. 2 interactor tool 200 comprises: edge propertydetector 202; interactor method 300; and interactor widget 400.

Edge property detector 202 is for detecting properties that areassociated with edges on a selected graphical user object and in thepreferred embodiment a property that is associated with a selected edge.When an edge of a graphical user object is moved then a propertyassociated with that edge is adjusted. For example, a box thatrepresents time boundaries in a graphical array calendar could have anedge moved to adjust the time boundaries.

Interactor method 300 is for controlling interactor tool 200 and isdescribed in more detail with respect to FIG. 3.

Interactor widget 400 is a graphical interface that comprises additionalgraphical controls and feedback for a graphical object in the GUI and isdescribed in more detail with respect to FIG. 4.

Referring to FIG. 3, interactor method 300 comprises sequential logicalprocess steps 302 to 320.

Step 302 is for enabling selection of a graphical object on a graphicaluser interface. Typically this happens when a user moves a mouse cursorover a graphical object and presses the select button; this user actiontranslates to an event generated for the mouse cursor at the positionover the graphical object on the screen. The event is recorded byinteractor method 300.

Step 304 is for enabling selection of an interactor edit mode for theselected graphical object. Typically this is achieved when a userselects an interactor edit mode option from a context menu associatedwith the graphical object. This user action translates to an event thatis recorded by interactor method 300 and initiates step 306.

Step 306 is for identifying properties that are controlled by the edgesof the selected graphical object. In the preferred embodiment all edgesare considered and all associated properties identified. The example ofFIG. 4 shows two properties but more could be identified. In otherembodiments, there could be a user step of selecting edges that areconsidered for associated properties. Once the properties are identifiedthen step 308.

Step 308 is for displaying interactor widget 400 comprising interactorsensitive area controls for each identified property and respectiveinteractor text feedback controls.

Step 310 is for enabling selection of the interactor sensitive areacontrols. Typically the user will move the mouse cursor to the controland select it to generate control events.

Step 312 is for adjusting the associated property of the control eventsgenerated by the selection of the interactor sensitive area control.

Step 314 is for updating the feedback control based on the adjustedproperty.

Step 316 is for enabling a confirmation or cancel control or allowingthe adjustment of interactor tool 200 to continue. Until theconfirmation or cancel control are selected then the process repeatsfrom step 310. If the user selects continue then step 318. If the userselects cancel then step 312 and the property is reset to the originalvalue.

Step 318 is for leaving the edit mode.

Step 320 is for removing the interactor widget 400 from the graphicaldisplay and for ending interactor method 300.

Referring to FIG. 4, interactor widget 400 comprises: cancel button 402;validate button 404; interactor sensitive area control 406 a and 406 b;interactor feedback control 408 a and 408 b.

Cancel button 402 is for sending an event when selected to reset anyadjustments to the properties to the original values.

Validate button 404 is for sending an event when selected to confirm anyadjustments to the properties.

Interactor sensitive area control 406 a (and 406 b) is a control thatprovides increase events and decrease events when selected by a user foran associated property.

Interactor feedback controls 408 a and 408 b are controls that updatetext or graphical representation of the associated property. In thefigure, the text values are time date values from a calendar object thatcan be increased or decreased according to user selection of arespective interactor sensitive area control.

Referring to FIG. 5a to FIG. 5f , different states of an examplegraphical user interface are described. The example comprises a calendargrid interface 500 with a graphical event object 502 superimposed. Thecalendar grid comprises days of the week along a horizontal axis andtimes along a vertical axis.

Referring to FIG. 5a , graphical event object 502 represents anappointment that extends from 10 am Saturday to 5 pm Saturday on thecalendar grid.

Referring to FIG. 5b , a user has dragged an edge of graphicalappointment object over 8 pm but no further extension is possible due toan 8 pm boundary limitation of the calendar grid interface 500.

Referring to FIG. 5c , interactor edit mode has been selected with adouble click on the event object and interactor widget 400 is displacedover graphical event object 502. In other embodiments there can bedifferent methods of selecting interactor edit mode. In otherembodiments, interactor widget 400 can be displayed anywhere in thegraphical user interface.

Referring to FIG. 5d , a user selects a sensitive area with the mousecursor and adjusts the control. In other embodiments a mouse scrollwheel can be used with an appropriate control.

Referring to FIG. 5e , the user mouse cursor is shown over the controland the user has adjusted the control so that the event now lasts intothe next day till 11 am.

Referring to FIG. 5f , the user mouse cursor is shown having selectedthe validate button and confirming the adjustment.

Thus, as described herein, in a first aspect of the invention there isprovided a method for changing a graphical object property in agraphical user interface comprising: selecting a graphical object;identifying a property adjusted by a moveable edge of the graphicalobject wherein the property adjustment may be constrained by thegraphical user interface; creating and displaying an additionalgraphical control for the identified property; and adjusting theproperty based on user interaction with the additional graphical controlwherein the property is no longer constrained by the graphical userinterface.

The method also encompasses the case when a graphical object is not soconstrained by a user interface and a user wishes to use an additionalgraphical control.

The embodiments relate to a method for resizing a shape that isconstrained or partially visible on a graphical screen. This impliesproviding a dedicated graphical interactor that allows control ofproperties associated with each edge of the shape.

Preferably the method is initiated by selecting from a context menuassociated with the graphical object.

More preferably feedback for the property is displayed in associationwith the additional graphical control.

Still more preferably further comprising removing the additionalgraphical control after a user has confirmed the adjusted propertyvalue.

Most preferably the feedback for the property and the additionalgraphical control are displayed within an interactor widget. Theinteractor widget may be displayed on or near to or away from thegraphical object depending on the context of the graphical object andthe graphical user interface.

Advantageously, the additional graphical control is created when a userselects a constrained edge and requests an associated additionalgraphical control.

In the preferred embodiment, the type and number of additional graphicalcontrols is statically linked to the type of graphical object but inother embodiments dynamic linking of graphical controls to edges andproperties is envisaged.

More advantageously further comprising creating additional graphicalcontrols and associating them respectively with a constrained edge andan edge opposite to the constrained edge.

Still more advantageously further comprising creating additionalgraphical controls for every edge of the graphical object.

Most advantageously further comprising resetting the properties if auser cancels the additional graphical control. A control can be providedfor cancelling the additional graphical control or the additionalgraphical control is cancelled if the user control is focused onanything other than the additional control.

The embodiments have an effect on an application and graphical userinterface that is external to processes carried on within theapplication or graphical user interface. The embodiments have an effectthat operates at the machine level of the computer and not at theapplication level, the embodiments are independent of any applicationthat is executing simultaneously. The embodiments have an effect thatresults in the computer being made to operate in a new way whereby a newinterface is provided.

In a second aspect of the invention there is provided an interactor toolfor changing a property of a graphical object in a graphical userinterface comprising: an edge property detector for identifying aproperty controlled by a moveable edge of a selected graphical objectwherein the property adjustment may be constrained if the movement ofthe edge is constrained by boundary conditions; and an additionalgraphical control that is created and displayed for the identifiedproperty and allows adjustment of the property based on user interactionof the additional graphical control wherein the property is no longerconstrained by the boundary conditions and graphical object edge.

In a third aspect of the invention there is provided a computer programproduct for changing a property of a graphical object in a graphicaluser interface, the computer program product comprising acomputer-readable storage medium having computer-readable program codeembodied therewith and the computer-readable program code configured toperform all the steps of the methods.

The computer program product comprises a series of computer-readableinstructions either fixed on a tangible medium, such as a computerreadable medium, for example, optical disk, magnetic disk, solid-statedrive or transmittable to a computer system, using a modem or otherinterface device, over either a tangible medium, including but notlimited to optical or analogue communications lines, or intangibly usingwireless techniques, including but not limited to microwave, infrared orother transmission techniques. The series of computer readableinstructions embodies all or part of the functionality previouslydescribed herein.

Those skilled in the art will appreciate that such computer readableinstructions can be written in a number of programming languages for usewith many computer architectures or operating systems. Further, suchinstructions may be stored using any memory technology, present orfuture, including but not limited to, semiconductor, magnetic, oroptical, or transmitted using any communications technology, present orfuture, including but not limited to optical, infrared, or microwave. Itis contemplated that such a computer program product may be distributedas a removable medium with accompanying printed or electronicdocumentation, for example, shrink-wrapped software, pre-loaded with acomputer system, for example, on a system ROM or fixed disk, ordistributed from a server or electronic bulletin board over a network,for example, the Internet or World Wide Web.

In a fourth aspect of the invention there is provided a computer programstored on a computer readable medium and loadable into the internalmemory of a digital computer, comprising software code portions, whensaid program is run on a computer, for performing all the steps of themethod claims.

In a fifth aspect of the invention there is provided a data carrieraspect of the preferred embodiment that comprises functional computerdata structures to, when loaded into a computer system and operated uponthereby, enable said computer system to perform all the steps of themethod claims. A suitable data-carrier could be a solid-state memory,magnetic drive or optical disk. Channels for the transmission of datamay likewise comprise storage media of all descriptions as well assignal-carrying media, such as wired or wireless signal-carrying media.

Further embodiments of the invention are now described. It will be clearto one of ordinary skill in the art that all or part of the logicalprocess steps of the preferred embodiment may be alternatively embodiedin a logic apparatus, or a plurality of logic apparatus, comprisinglogic elements arranged to perform the logical process steps of themethod and that such logic elements may comprise hardware components,firmware components or a combination thereof.

It will be equally clear to one of skill in the art that all or part ofthe logic components of the preferred embodiment may be alternativelyembodied in logic apparatus comprising logic elements to perform thesteps of the method, and that such logic elements may comprisecomponents such as logic gates in, for example a programmable logicarray or application-specific integrated circuit. Such a logicarrangement may further be embodied in enabling elements for temporarilyor permanently establishing logic structures in such an array or circuitusing, for example, a virtual hardware descriptor language, which may bestored and transmitted using fixed or transmittable carrier media.

In a further alternative embodiment, the present invention may berealized in the form of a computer implemented method of deploying aservice comprising steps of deploying computer program code operable to,when deployed into a computer infrastructure and executed thereon, causethe computer system to perform all the steps of the method.

It will be appreciated that the method and components of the preferredembodiment may alternatively be embodied fully or partially in aparallel computing system comprising two or more processors forexecuting parallel software.

It will be clear to one skilled in the art that many improvements andmodifications can be made to the foregoing exemplary embodiment withoutdeparting from the scope of the present invention.

What is claimed is:
 1. A method comprising: partially obscuring, by oneor more processors, a cell in a spreadsheet on a graphical userinterface with a pop-up window to create a partially obscured cell;identifying, by one or more processors, all properties that areassociated with the cell; receiving, by one or more processors, aselection of the partially obscured cell; identifying, by one or moreprocessors, a property adjusted by a moveable edge of the partiallyobscured cell, wherein a property adjustment of the property adjusted isinitially constrained by the graphical user interface, and wherein theproperty is from said all properties that are associated with the cell;creating and displaying, by one or more processors, an additionalgraphical control for the identified property, wherein the additionalgraphical control is created in response to a user selecting aconstrained edge and requesting the additional graphical control from acontext menu associated with the partially obscured cell, wherein theadditional graphical control includes a control icon that increases asize of the partially obscured cell beyond a viewable area of thegraphical user interface, wherein the additional graphical control isincorporated into the pop-up window, and wherein the pop-up windowincludes a visual representation of a button that, when activated,expands the partially obscured cell in a direction in which thepartially obscured cell is to extend beyond its visibly displayedportion; adjusting, by one or more processors, the identified propertybased on a user interaction with the additional graphical control,wherein the identified property is no longer constrained by thegraphical user interface; and displaying, by one or more processors,feedback for the identified property being adjusted with the additionalgraphical control, wherein the additional graphical control causes theidentified property of the partially obscured cell to be adjusted, andwherein the adjusted property is displayed in a separate field from theadditional graphical control on the graphical user interface.
 2. Themethod of claim 1, further comprising: resetting, by one or moreprocessors, the identified property in response to a user cancelling theadditional graphical control.
 3. The method of claim 1, furthercomprising: modifying, by one or more processors, other cells thatsurround the partially obscured cell with the identified property of thepartially obscured cell.
 4. The method of claim 1, wherein operationsshown in claim 1 are performed at a machine level of a computer that isindependent of an application that generated the graphical userinterface.
 5. The method of claim 1, wherein: a user input area includesinformation indicative of how the constrained edge can be moved by auser input received through a keyboard input device; and the user inputis received through the keyboard input device.
 6. The method of claim 1,wherein: a user input area includes information indicative of how theconstrained edge can be moved by a user input received through a mouseinput device; and the user input is received through the mouse inputdevice.
 7. The method of claim 1, wherein a user input selecting theconstrained edge is received through gestures made in a user input area.8. The method of claim 1, further comprising: removing, by one or moreprocessors, the graphical control from the graphical user interface inresponse to a user confirming a value of the size of the partiallyobscured cell that is to be increased beyond the boundary conditions ofthe spreadsheet.
 9. A computer program product for adjusting a propertyof a particularly obscured cell in a spreadsheet displayed on agraphical user interface, the computer program product comprising anon-transitory computer readable storage medium having program codeembodied therewith, the program code readable and executable by aprocessor to perform a method comprising: partially obscuring a cell ina spreadsheet on a graphical user interface with a pop-up window tocreate a partially obscured cell; identifying all properties that areassociated with the cell; receiving a selection of the partiallyobscured cell; identifying a property adjusted by a moveable edge of thepartially obscured cell, wherein a property adjustment of the propertyadjusted is initially constrained by the graphical user interface, andwherein the property is from said all properties that are associatedwith the cell; creating and displaying an additional graphical controlfor the identified property, wherein the additional graphical control iscreated in response to a user selecting a constrained edge andrequesting the additional graphical control from a context menuassociated with the partially obscured cell, wherein the additionalgraphical control includes a control icon that increases a size of thepartially obscured cell beyond a viewable area of the graphical userinterface, wherein the additional graphical control is incorporated intothe pop-up window, and wherein the pop-up window includes a visualrepresentation of a button that, when activated, expands the partiallyobscured cell in a direction in which the partially obscured cell is toextend beyond its visibly displayed portion; adjusting the identifiedproperty based on a user interaction with the additional graphicalcontrol, wherein the identified property is no longer constrained by thegraphical user interface; and displaying feedback for the identifiedproperty being adjusted with the additional graphical control, whereinthe additional graphical control causes the identified property of thepartially obscured cell to be adjusted, and wherein the adjustedproperty is displayed in a separate field from the additional graphicalcontrol on the graphical user interface.
 10. The computer programproduct of claim 9, wherein the method further comprises: resetting theidentified property in response to a user cancelling the additionalgraphical control.
 11. The computer program product of claim 9, whereinthe method further comprises: modifying other cells that surround thepartially obscured cell with the identified property of the partiallyobscured cell.
 12. The computer program product of claim 9, whereinoperations shown in claim 1 are performed at a machine level of acomputer that is independent of an application that generated thegraphical user interface.
 13. The computer program product of claim 9,wherein: a user input area includes information indicative of how theconstrained edge can be moved by a user input received through akeyboard input device; and the user input is received through thekeyboard input device.
 14. The computer program product of claim 9,wherein: a user input area includes information indicative of how theconstrained edge can be moved by a user input received through a mouseinput device; and the user input is received through the mouse inputdevice.
 15. The computer program product of claim 9, wherein a userinput selecting the constrained edge is received through gestures madein a user input area.
 16. The computer program product of claim 9,wherein the method further comprises: removing the graphical controlfrom the graphical user interface in response to a user confirming avalue of the size of the partially obscured cell that is to be increasedbeyond the boundary conditions of the spreadsheet.
 17. A methodcomprising: partially obscuring, by one or more processors, a graphicalobject on a graphical user interface with a pop-up window to create apartially obscured graphical object; receiving, by one or moreprocessors, a selection of the partially obscured graphical object;identifying, by one or more processors, a property adjusted by amoveable edge of the partially obscured graphical object, wherein aproperty adjustment of the property adjusted is initially constrained bythe graphical user interface; creating and displaying, by one or moreprocessors, an additional graphical control for the identified property,wherein the additional graphical control is created in response to auser selecting a constrained edge and requesting the additionalgraphical control from a context menu associated with the partiallyobscured graphical object, wherein the additional graphical controlincludes a control icon that increases a size of the partially obscuredgraphical object beyond a viewable area of the graphical user interface,and wherein the pop-up window includes a visual representation of acontrol that, when activated, expands the partially obscured graphicalobject in a direction in which the partially obscured graphical objectis to extend beyond its visibly displayed portion; adjusting, by one ormore processors, the identified property based on a user interactionwith the additional graphical control, wherein the identified propertyis no longer constrained by the graphical user interface; anddisplaying, by one or more processors, feedback for the identifiedproperty being adjusted with the additional graphical control, whereinthe additional graphical control causes the identified property of thepartially obscured graphical object to be adjusted, and wherein theadjusted property is displayed in a separate field from the additionalgraphical control on the graphical user interface.
 18. The method ofclaim 17, further comprising: resetting, by one or more processors, theidentified property in response to a user cancelling the additionalgraphical control.
 19. The method of claim 17, further comprising:removing the graphical control from the graphical user interface inresponse to a user confirming a value of the size of the partiallyobscured graphical object that is to be increased beyond the viewablearea of the graphical user interface.
 20. The method of claim 17,wherein operations shown in claim 17 are performed at a machine level ofa computer that is independent of an application that generated thegraphical user interface.